<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  

  
  <title>SpringBoot系列—Hello World（一） | 海晨忆的博客</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  
  
  
  <meta name="description" content="&amp;emsp;&amp;emsp;终于要正式开始了java后台之路，虽然，之前断断续续的看过过黑马的java web视频，但是，都是好几年前的视频，很老了，感觉用处比较大的就是MySQL数据库操作，之前也写过几篇关于MySQL数据库操作的博客。目前，java后台最火的框架就属Spring Boot了。它是spring家族的衍生框架，并不是加强某个功能，它是为了简化配置，提高开发效率。">
<meta property="og:type" content="article">
<meta property="og:title" content="SpringBoot系列—Hello World（一）">
<meta property="og:url" content="https://haichenyi.com/2019/08/22/SpringBoot系列—Hello-World（一）/index.html">
<meta property="og:site_name" content="海晨忆的博客">
<meta property="og:description" content="&amp;emsp;&amp;emsp;终于要正式开始了java后台之路，虽然，之前断断续续的看过过黑马的java web视频，但是，都是好几年前的视频，很老了，感觉用处比较大的就是MySQL数据库操作，之前也写过几篇关于MySQL数据库操作的博客。目前，java后台最火的框架就属Spring Boot了。它是spring家族的衍生框架，并不是加强某个功能，它是为了简化配置，提高开发效率。">
<meta property="og:locale" content="zh-Hans">
<meta property="og:image" content="https://haichenyi.com/uploads/article/2019-08-22/IDEA配置.png">
<meta property="og:image" content="https://haichenyi.com/uploads/article/2019-08-22/Maven项目结构图.png">
<meta property="og:image" content="https://haichenyi.com/uploads/article/2019-08-22/项目结构图.png">
<meta property="og:image" content="https://haichenyi.com/uploads/article/2019-08-22/打jar包.png">
<meta property="og:image" content="https://haichenyi.com/uploads/article/2019-08-22/jar包路径.png">
<meta property="og:updated_time" content="2019-09-18T09:10:26.609Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="SpringBoot系列—Hello World（一）">
<meta name="twitter:description" content="&amp;emsp;&amp;emsp;终于要正式开始了java后台之路，虽然，之前断断续续的看过过黑马的java web视频，但是，都是好几年前的视频，很老了，感觉用处比较大的就是MySQL数据库操作，之前也写过几篇关于MySQL数据库操作的博客。目前，java后台最火的框架就属Spring Boot了。它是spring家族的衍生框架，并不是加强某个功能，它是为了简化配置，提高开发效率。">
<meta name="twitter:image" content="https://haichenyi.com/uploads/article/2019-08-22/IDEA配置.png">
  
    <link rel="alternate" href="/atom.xml" title="海晨忆的博客" type="application/atom+xml">
  
  
    <link rel="icon" href="/uploads/artistic_image/head.jpg">
  
  
    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
  
  <link rel="stylesheet" href="/css/style.css">
  <link rel="stylesheet" href="/css/highlight.css">
  <script>
  let antiquityStorage = window.sessionStorage.getItem('antiquitySessionStorage');
  if (antiquityStorage == '' || antiquityStorage == null) {
    var antiquityLoader = '<div id="loaderbox"><div class="loader"><div class="load-roll"><div class="load-top"></div><div class="load-right"></div><div class="load-bottom"></div></div></div></div>';
    document.write(antiquityLoader);
    document.body.style.overflow = 'hidden'
  }
  </script>
</head>

<body>
  <div id="fullpage" class="mobile-nav-right">
    
      <div id="wrapper" style="background-image: url(/uploads/artistic_image/bg.jpg)" title="背景图片来自网络">
    
    
      <header id="header">
  <div id="nav-toggle" class="nav-toggle"></div>
  <div class="head-box global-width">
    <nav class="nav-box nav-right">
      
        <a class="nav-item" href="/" title
        
        >首页</a>
      
        <a class="nav-item" href="/archives" title
        
        >归档</a>
      
        <a class="nav-item" href="/about" title
        
        >简历</a>
      
    </nav>
  </div>
</header>
      <div id="middlecontent" title class="global-width sidebar-left">
        <section id="main"><article id="post-SpringBoot系列—Hello-World（一）" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 class="article-title" itemprop="name">
      SpringBoot系列—Hello World（一）
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2019/08/22/SpringBoot系列—Hello-World（一）/" class="article-date">
  <time datetime="2019-08-22T06:00:44.000Z" itemprop="datePublished">2019-08-22</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/Java-SpringBoot/">Java -SpringBoot</a>
  </div>

    
  </div>
  
    <span id="busuanzi_container_page_pv">
      本文总阅读量<span id="busuanzi_value_page_pv"></span>次
    </span>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud doorframe mac" itemprop="articleBody">
      
        <p>&emsp;&emsp;终于要正式开始了java后台之路，虽然，之前断断续续的看过过黑马的java web视频，但是，都是好几年前的视频，很老了，感觉用处比较大的就是MySQL数据库操作，之前也写过几篇关于<a href="https://blog.csdn.net/qq_27634797/article/category/8050256" target="_blank" rel="noopener">MySQL数据库操作的博客</a>。目前，java后台最火的框架就属<a href="https://spring.io/projects/spring-boot" target="_blank" rel="noopener">Spring Boot</a>了。它是<a href="https://spring.io/" target="_blank" rel="noopener">spring</a>家族的衍生框架，并不是加强某个功能，它是为了简化配置，提高开发效率。</p>
<a id="more"></a>
<h3 id="Spring-Boot概要"><a href="#Spring-Boot概要" class="headerlink" title="Spring Boot概要"></a>Spring Boot概要</h3><h4 id="Spring-Boot-介绍"><a href="#Spring-Boot-介绍" class="headerlink" title="Spring Boot 介绍"></a>Spring Boot 介绍</h4><p>&emsp;&emsp;随着动态语言的流行(Ruby,Node.js等等)，java作为静态语言，他的开发显得格外的笨重；繁多的配置、低效的开发效率、复杂的部署流程以及第三方技术整合难度大。</p>
<p>&emsp;&emsp;在上述环境下，Spring Boot由此诞生，它的设计是为了尽快的启动和运行。它使用”习惯优于配置”(就是Spring Boot初始化了大量的配置，让你可以无需配置就能直接运行，当然，你也可以更改)的理念让你的项目快速的运行起来。并且，使用Spring Boot可以让你很容易创建一个独立运行(运行jar，内嵌servlet容器即Tomcat)、准生产力强的基于spring的项目。</p>
<h4 id="Spring-Boot-优点"><a href="#Spring-Boot-优点" class="headerlink" title="Spring Boot 优点"></a>Spring Boot 优点</h4><ol>
<li>快速构建spring项目</li>
<li>无需依赖外部servlet容器即Tomcat，应用无需打成WAR包；项目可以打成Jar包直接运行</li>
<li>提供一系列的 start pom来简化maven的依赖加载</li>
<li>无需配置XML，开箱即用，简化开发，同时也可以修改默认值来满足特定需求</li>
<li>Spring Boot并不是对Spring功能上的加强，而是提供了一种快速使用Spring的方式</li>
<li>极大的提高了开发和部署效率</li>
</ol>
<h3 id="Spring-Boot-入门开发"><a href="#Spring-Boot-入门开发" class="headerlink" title="Spring Boot 入门开发"></a>Spring Boot 入门开发</h3><h4 id="环境要求"><a href="#环境要求" class="headerlink" title="环境要求"></a>环境要求</h4><p>&emsp;&emsp;每一个版本的Spring Boot，对系统的环境要求都不一样。我这里用的<a href="https://spring.io/projects/spring-boot#learn" target="_blank" rel="noopener">Spring Boot 2.1.7版本</a>，它需要的</p>
<ul>
<li>jdk8，兼容12</li>
<li>Maven 3.3+</li>
</ul>
<h4 id="修改Maven配置文件"><a href="#修改Maven配置文件" class="headerlink" title="修改Maven配置文件"></a>修改Maven配置文件</h4><p>&emsp;&emsp;首先，你需要先下载<a href="http://maven.apache.org/download.cgi" target="_blank" rel="noopener">Maven</a>，然后安装。找到安装目录下的config文件夹，点进去找到setting.xml配置文件，进行如下修改</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="PLAIN"><figure class="iseeu highlight /plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br></pre></td><td class="code"><pre><span class="line">&lt;!--开始处更改下载依赖的存放路径， 以下目录需要已经创建--&gt;</span><br><span class="line">&lt;localRepository&gt;D:\apache-maven-3.6.1\repository&lt;/localRepository&gt;</span><br><span class="line"></span><br><span class="line">&lt;!--在 mirrors 标签下 添加阿里云maven私服库--&gt;</span><br><span class="line">  &lt;mirrors&gt;</span><br><span class="line">	&lt;id&gt;nexus-aliyun&lt;/id&gt;    </span><br><span class="line">	&lt;name&gt;nexus-aliyun&lt;/name&gt;  </span><br><span class="line">	&lt;url&gt;http://maven.aliyun.com/nexus/content/groups/public&lt;/url&gt;    </span><br><span class="line">	&lt;mirrorOf&gt;central&lt;/mirrorOf&gt;  </span><br><span class="line">  &lt;/mirrors&gt;</span><br><span class="line">  </span><br><span class="line">  &lt;!--在 profiles 标签下指定jdk版本--&gt;</span><br><span class="line">&lt;profiles&gt;  </span><br><span class="line">    &lt;profile&gt;</span><br><span class="line">		&lt;id&gt;jdk-1.8&lt;/id&gt;</span><br><span class="line"></span><br><span class="line">		&lt;activation&gt;</span><br><span class="line">			&lt;activeByDefault&gt;true&lt;/activeByDefault&gt; </span><br><span class="line">			&lt;jdk&gt;1.8&lt;/jdk&gt;</span><br><span class="line">		&lt;/activation&gt;</span><br><span class="line"></span><br><span class="line">		&lt;properties&gt;</span><br><span class="line">			&lt;maven.compiler.source&gt;1.8&lt;/maven.compiler.source&gt;</span><br><span class="line">			&lt;maven.compiler.target&gt;1.8&lt;/maven.compiler.target&gt;</span><br><span class="line">			&lt;maven.compiler.compilerVersion&gt;1.8&lt;/maven.compiler.compilerVersion&gt;</span><br><span class="line">		&lt;/properties&gt;</span><br><span class="line">    &lt;/profile&gt;</span><br><span class="line">&lt;/profiles&gt;</span><br></pre></td></tr></table></figure></div>
<h4 id="修改IDEA配置"><a href="#修改IDEA配置" class="headerlink" title="修改IDEA配置"></a>修改IDEA配置</h4><p><img src="/uploads/article/2019-08-22/IDEA配置.png" alt="IDEA配置.png"></p>
<p>&emsp;&emsp;如上图，我们打开IDEA的setting界面，找到MAVEN，在Maven Home Directory这一栏选择，我们刚才Maven安装的路径，当这一栏选好之后，第三栏的本地仓库路径会自动修改，然后，我们修改第二栏，选择我们上面修改的setting.xml文件。这样修改完成之后，我们maven项目在线依赖的库都存放在我们自己定义的存放文件夹下面。</p>
<h4 id="创建SpringBoot项目"><a href="#创建SpringBoot项目" class="headerlink" title="创建SpringBoot项目"></a>创建SpringBoot项目</h4><p>&emsp;&emsp;这里创建的是Maven项目，然后嵌入SpringBoot框架，这样你就不会因为直接创建SpringBoot项目生成的文件不知道是干什么用的造成的困惑。创建Maven项目之后的项目结构，如下图：</p>
<p><img src="/uploads/article/2019-08-22/Maven项目结构图.png" alt="Maven项目结构图.png"></p>
<p>&emsp;&emsp;如上图，有三个文件夹和一个pom.xml文件。</p>
<ul>
<li>java文件夹：存放java代码</li>
<li>resources文件夹：存放资源文件</li>
<li>test文件夹：单元测试</li>
<li>pom.xml：依赖库</li>
</ul>
<p>&emsp;&emsp;Maven项目会自动帮我们<a href="https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/getting-started-first-application.html#getting-started-first-application-pom" target="_blank" rel="noopener">创建pom.xml文件</a>，不用我们手动创建，我们先在pom.xml文件下添加如下依赖：</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="PLAIN"><figure class="iseeu highlight /plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line">&lt;parent&gt;</span><br><span class="line">        &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;</span><br><span class="line">        &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifactId&gt;</span><br><span class="line">        &lt;version&gt;2.1.7.RELEASE&lt;/version&gt;</span><br><span class="line">    &lt;/parent&gt;</span><br><span class="line"></span><br><span class="line">    &lt;dependencies&gt;</span><br><span class="line">        &lt;dependency&gt;</span><br><span class="line">            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;</span><br><span class="line">            &lt;artifactId&gt;spring-boot-starter-web&lt;/artifactId&gt;</span><br><span class="line">        &lt;/dependency&gt;</span><br><span class="line">    &lt;/dependencies&gt;</span><br></pre></td></tr></table></figure></div>
<p>&emsp;&emsp;关于这个我想说的就是，spring-boot-starter-parent是一个父级依赖，它是一个特殊的starter，这个依赖提供了常用的SpringBoot依赖库，使用它之后，我们SpringBoot常用库就不需要指定Version，这样，我们就避免了冲突，不兼容等问题。之前Android项目总是碰到依赖包冲突，这一点SpringBoot很nice。</p>
<p>&emsp;&emsp;添加完成这两个之后，我们就可以创建controller，也就是接口了。<br><div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="PLAIN"><figure class="iseeu highlight /plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">package com.haichenyi.controller;</span><br><span class="line"></span><br><span class="line">import org.springframework.web.bind.annotation.RequestMapping;</span><br><span class="line">import org.springframework.web.bind.annotation.RequestMethod;</span><br><span class="line">import org.springframework.web.bind.annotation.RestController;</span><br><span class="line"></span><br><span class="line">@RestController</span><br><span class="line">public class HelloController &#123;</span><br><span class="line">    @RequestMapping(value = &quot;/hello&quot;, method = RequestMethod.POST)</span><br><span class="line">    public String hello() &#123;</span><br><span class="line">        return &quot;hello world!&quot;;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure></div></p>
<p>&emsp;&emsp;我这里类用@RestController注解标明，你也可以用@Controller，当你用@Controller的时候，你的方法上面还要加另外一个注解@ResponseBody。</p>
<p>&emsp;&emsp;再就是方法名称，在你的方法上面加@RequestMapping，里面的value值就是你的接口名称，后面的method就是你需要访问接口的方式。</p>
<p>&emsp;&emsp;再就是最后一步，创建一个引导类，它的主要作用就是启动我们的SpringBoot项目。</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="PLAIN"><figure class="iseeu highlight /plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line">package com.haichenyi;</span><br><span class="line"></span><br><span class="line">import org.springframework.boot.SpringApplication;</span><br><span class="line">import org.springframework.boot.autoconfigure.SpringBootApplication;</span><br><span class="line"></span><br><span class="line">@SpringBootApplication</span><br><span class="line">public class HelloApplication &#123;</span><br><span class="line">    public static void main(String[] args) &#123;</span><br><span class="line">        SpringApplication.run(HelloApplication.class, args);</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure></div>
<p>&emsp;&emsp;到这里，我们就完成了，我们最后看一下项目结构图：</p>
<p><img src="/uploads/article/2019-08-22/项目结构图.png" alt="项目结构图.png"></p>
<p>PS:在这里，我们需要注意的是我们这个启动类最好放在最外层的包下面，因为这个启动类在启动的时候，会加载它这个包下面及其所有子包下面所有组件到spring容器中统一管理，你如果把这个启动类写在其它包下面，有可能就加载不到有的组件。</p>
<p>&emsp;&emsp;启动项目，不用我们手动部署到Tomcat，我们直接点击这个启动类的main方法，左边的启动按钮，run application就可以了。</p>
<p>&emsp;&emsp;最后，请求接口，因为，我这里定义的方式是post请求，所以，不能直接浏览器访问，你也可以把这个方式去掉，就可以了。</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="PLAIN"><figure class="iseeu highlight /plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">//http协议+ip+port+接口名</span><br><span class="line">http://localhost:8080/hello</span><br></pre></td></tr></table></figure></div>
<h4 id="项目打jar包"><a href="#项目打jar包" class="headerlink" title="项目打jar包"></a>项目打jar包</h4><p>添加依赖</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="PLAIN"><figure class="iseeu highlight /plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">&lt;build&gt;</span><br><span class="line">        &lt;plugins&gt;</span><br><span class="line">            &lt;plugin&gt;</span><br><span class="line">                &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;</span><br><span class="line">                &lt;artifactId&gt;spring-boot-maven-plugin&lt;/artifactId&gt;</span><br><span class="line">            &lt;/plugin&gt;</span><br><span class="line">        &lt;/plugins&gt;</span><br><span class="line">&lt;/build&gt;</span><br></pre></td></tr></table></figure></div>
<p>&emsp;&emsp;选择项目右边的Maven—moudle名称—Lifecycle—package—run maven build即可。如下图：</p>
<p><img src="/uploads/article/2019-08-22/打jar包.png" alt="打jar包.png"></p>
<p><img src="/uploads/article/2019-08-22/jar包路径.png" alt="jar包路径.png"></p>
<p>&emsp;&emsp;然后，在控制台找到这个jar的路径，在我们的DOS命令界面用如下命令运行，即可：</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="PLAIN"><figure class="iseeu highlight /plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">java -jar 刚才打好的jar包全名称包括后缀名</span><br></pre></td></tr></table></figure></div>
      
    </div>
    
      <footer class="article-footer">
        完
      </footer>
    
  </div>
  
    
<nav id="article-nav">
  <div class="article-nav-block">
    
      <a href="/2019/08/22/SpringBoot系列—底层依赖（二）/" id="article-nav-newer" class="article-nav-link-wrap">
        <strong class="article-nav-caption"></strong>
        <div class="article-nav-title">
          
            SpringBoot系列—底层依赖（二）
          
        </div>
      </a>
    
  </div>
  <div class="article-nav-block">
    
      <a href="/2019/07/31/dagger2整个流程解析（一）/" id="article-nav-older" class="article-nav-link-wrap">
        <div class="article-nav-title">dagger2整个流程解析（一）</div>
        <strong class="article-nav-caption"></strong>
      </a>
    
  </div>
</nav>

    
  
  
</article>
</section>
        <aside id="sidebar">
  
    <div class="widget-box">
  <div class="avatar-box avatar-item">
    <img class="avatar" src="/uploads/artistic_image/head.jpg" title="头像来自网络"></img>
    <h3 class="avatar-name">
      
        海晨忆
      
    </h3>
    <p class="avatar-slogan">
      先谋生，再谋爱。人间值得，未来可期。
    </p>
  </div>
</div>


  
    
  <div class="widget-box">
    <h3 class="widget-title">分类</h3>
    <div class="widget">
      <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/Android-Socket/">Android -Socket</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-加密算法/">Android -加密算法</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-常用功能/">Android -常用功能</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-框架/">Android -框架</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-源码解析/">Android -源码解析</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-自定义view/">Android -自定义view</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Android-设计模式/">Android -设计模式</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/JAVA-并发/">JAVA -并发</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Java-SpringBoot/">Java -SpringBoot</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Tomcat/">Tomcat</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/kotlin/">kotlin</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/数据库-JDBC/">数据库 -JDBC</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/数据库-MySQL/">数据库 -MySQL</a></li></ul>
    </div>
  </div>


  
    

  
    
  
    
  <div class="widget-box">
    <h3 class="widget-title">归档</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2021/07/">July 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/11/">November 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/10/">October 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/09/">September 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/08/">August 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/07/">July 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/06/">June 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/10/">October 2018</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/05/">May 2018</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/03/">March 2018</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2018/02/">February 2018</a></li></ul>
    </div>
  </div>

  
    
  <div class="widget-box">
    <h3 class="widget-title">最新文章</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="/2021/07/27/JAVA—公平锁，非公平锁，悲观锁，乐观锁，死锁/">JAVA—公平锁，非公平锁，悲观锁，乐观锁，死锁</a>
          </li>
        
          <li>
            <a href="/2021/07/19/JAVA—线程同步器AQS/">JAVA—线程同步器AQS</a>
          </li>
        
          <li>
            <a href="/2021/07/07/Android模拟点击/">Android模拟点击</a>
          </li>
        
          <li>
            <a href="/2019/11/27/SpringBoot系列-消息-RabbitMQ-（二十）/">SpringBoot系列-消息(RabbitMQ)（二十）</a>
          </li>
        
          <li>
            <a href="/2019/11/13/SpringBoot系列-Docker（十九）/">SpringBoot系列-Docker（十九）</a>
          </li>
        
      </ul>
    </div>
  </div>

  
      <div class="widget-box">
    <h3 class="widget-title">友情链接</h3>
    <div class="widget">
      
        <a class="hrf" style="display: block;" href="https://github.com/haichenyi" title target='_blank'
        >Github</a>
      
        <a class="hrf" style="display: block;" href="https://www.jianshu.com/u/6077ee440c37" title target='_blank'
        >简书</a>
      
        <a class="hrf" style="display: block;" href="https://blog.csdn.net/qq_27634797" title target='_blank'
        >CSDN</a>
      
    </div>
  </div>

  
</aside>
      </div>
      <footer id="footer">
  <div class="foot-box footers global-width">
    &copy;2017-2021 海晨忆 &nbsp;&nbsp;
    <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    <span id="busuanzi_container_site_pv">阁下是第<span id="busuanzi_value_site_pv"></span>个访客</span>
  </div>
</footer>
      <script src="https://code.jquery.com/jquery-2.0.3.min.js"></script>
<script>
if (!window.jQuery) {
var script = document.createElement('script');
script.src = "/js/jquery-2.0.3.min.js";
document.body.write(script);
}
</script>

  <link rel="stylesheet" href="/fancybox/jquery.fancybox.css">
  <script src="/fancybox/jquery.fancybox.pack.js"></script>


<script src="/js/script.js"></script>



    </div>
    <nav id="mobile-nav" class="mobile-nav-box">
  <div class="mobile-nav-img mobile-nav-top"></div>
  
    <a href="/" class="mobile-nav-link">首页</a>
  
    <a href="/archives" class="mobile-nav-link">归档</a>
  
    <a href="/about" class="mobile-nav-link">简历</a>
  
  <div class="mobile-nav-img  mobile-nav-bottom"></div>
</nav>    
  </div>
</body>
</html>